Modelling, Simulating and Verifying Turing-Powerful Strand Displacement Systems
نویسندگان
چکیده
We demonstrate how the DSD programming language can be used to design a DNA stack machine and to analyse its behaviour. Stack machines are of interest because they can efficiently simulate a Turing machine. We extend the semantics of the DSD language to support operations on DNA polymers and use our stack machine design to implement a non-trivial example: a ripple carry adder which can sum two binary numbers of arbitrary size. We use model checking to verify that the ripple carry adder executes correctly on a range of inputs. This provides the first opportunity to assess the correctness and kinetic properties of DNA strand displacement systems performing Turing-powerful symbolic computation.
منابع مشابه
Verifying polymer reaction networks using bisimulation
The Chemical Reaction Network model has been proposed as a programming language for molecular programming. Methods to implement arbitrary CRNs using DNA strand displacement circuits have been proposed, as have methods to prove the correctness of those or other implementations. However, the stochastic Chemical Reaction Network model is provably not deterministically Turing-universal, that is, it...
متن کاملSpace and Energy Efficient Computation with DNA Strand Displacement Systems
Chemical reaction networks (CRN’s) are important models of molecular programming that can be realized by logically reversible, and thus energy efficient, DNA strand displacement systems (DSD’s). Qian et al., [12] showed that energy efficient DSD’s are Turing-universal; however their simulation of a computation requires space (or volume) proportional to the number of steps of the computation. He...
متن کاملA strand graph semantics for DNA-based computation
DNA nanotechnology is a promising approach for engineering computation at the nanoscale, with potential applications in biofabrication and intelligent nanomedicine. DNA strand displacement is a general strategy for implementing a broad range of nanoscale computations, including any computation that can be expressed as a chemical reaction network. Modelling and analysis of DNA strand displacemen...
متن کاملA programming language for composable DNA circuits.
Recently, a range of information-processing circuits have been implemented in DNA by using strand displacement as their main computational mechanism. Examples include digital logic circuits and catalytic signal amplification circuits that function as efficient molecular detectors. As new paradigms for DNA computation emerge, the development of corresponding languages and tools for these paradig...
متن کاملEfficient Turing-Universal Computation with DNA Polymers
Bennett’s proposed chemical Turing machine is one of the most important thought experiments in the study of the thermodynamics of computation. Yet the sophistication of molecular engineering required to physically construct Bennett’s hypothetical polymer substrate and enzyme has deterred experimental implementations. Here we propose a chemical implementation of stack machines — a Turing-univers...
متن کامل